home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
c
/
tcxl551.zip
/
TCXL_INC.EXE
/
lha
/
INC
/
TCXLVID.H
< prev
next >
Wrap
Text File
|
1990-10-01
|
14KB
|
247 lines
/*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
| Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
|
| This Library is part of IDC's TesSeRact Development Tools product
| line. For information about other IDC products, call 1-215-884-3373.
*----------------------------------------------------------------------*
| <TCXLvid.h> : Public definitions and prototypes for TCXL video
| functions. Windowing functions are defined in <TCXLwin.h>, which
| includes this file.
*----------------------------------------------------------------------*
| PGS : $Id: tcxlvid.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
| $Log: tcxlvid.h $
| Revision 5.51 90/10/01 00:00:00 MLM
| TCXL 5.51
|
*======================================================================*/
#ifndef _TCXLvid_
# define _TCXLvid_ 1 /* only once! */
# ifndef _TCXLdef_
# include <TCXLdef.h> /* standard definitions */
# endif
# ifndef _TCXLatr_
# include <TCXLatr.h> /* attribute definitions */
# endif
#define V_NONE 0x00 /*- adapter types returned by VidType() --*/
#define V_MDA 0x01
#define V_EGAMONO 0x02
#define V_MCGAMONO 0x03
#define V_VGAMONO 0x04
#define V_HGC 0x05
#define V_HGCPLUS 0x06
#define V_INCOLOR 0x07
#define V_CGA 0x08
#define V_EGA 0x09
#define V_MCGA 0x0A
#define V_VGA 0x0B
/*- VidParm() video parameter settings ---*/
#define VP_DMA 0x00 /* direct screen writes */
#define VP_CGA 0x01 /* direct screen writes, no CGA snow */
#define VP_BIO 0x02 /* BIOS screen writes */
#define VP_MON 0x03 /* monochrome attribute translate on */
#define VP_COL 0x04 /* monochrome attribute translate off */
/*- video flag bits ----------------------*/
#define VF_MON 0x01 /* monochrome */
#define VF_MAP 0x02 /* map to mono */
#define VF_CGA 0x04 /* suppress CGA snow */
#define VF_BIO 0x08 /* use video BIOS */
#define VF_DQV 0x10 /* DesqView/Windows installed */
/*- Ultravision Flags --------------------*/
#define VU_RES 0x80 /* Ultravision is resident */
#define VU_ACT 0x40 /* Ultravision is active */
/*- Ultravision Card Codes ---------------*/
#define VU_GEC 0x00 /* Generic EGA w/ Color monitor */
#define VU_GEM 0x04 /* Generic EGA w/ Monochrome monitor */
#define VU_GVV 0x05 /* Generic VGA w/ VGA monitor */
#define VU_PVV 0x06 /* Paradise VGA w/VGA monitor */
#define VU_HVV 0x07 /* Super VGA w/VGA monitor */
#define VU_BEE 0x0A /* UV EGA Booster w/EGA monitor */
#define VU_NEE 0x0B /* NEC GB-1 w/EGA monitor */
#define VU_SEE 0x0C /* Genoa SuperEGA w/EGA monitor */
#define VU_AEE 0x0D /* Alt EGA Booster w/EGA monitor */
#define VU_AEM 0x0E /* Alt EGA Booster w/Monochrome monitor */
#define VU_GVA 0x19 /* Generic VGA w/Autosync monitor */
#define VU_PVA 0x1A /* Paradise VGA w/Autosync monitor */
#define VU_HVA 0x1B /* Super VGA w/Autosync monitor */
#define VU_BEA 0x14 /* UV EGA Booster w/Autosync monitor */
#define VU_NEA 0x15 /* NEC GB-1 w/Autosync monitor */
#define VU_SEA 0x16 /* Genoa SuperEGA w/Autosync monitor */
#define VU_AEA 0x17 /* Alt EGA Booster w/Autosync monitor */
/*- Ultravision Video Modes --------------*/
#define VU_A25 0x11 /* 80x25 */
#define VU_A43 0x12 /* 80x43 on EGA, 80x50 on VGA */
#define VU_A34 0x13 /* 80x34 on EGA, 80x36 on VGA */
#define VU_A60 0x14 /* 80x60 on EGA, 80x63 on VGA */
#define VU_B25 0x19 /* 94x25 */
#define VU_B43 0x1A /* 94x43 on EGA, 94x50 on VGA */
#define VU_B36 0x1B /* 94x36 */
#define VU_B63 0x1C /* 94x63 */
#define VU_C25 0x21 /* 108x25 */
#define VU_C43 0x22 /* 108x43 on EGA, 108x50 on VGA */
#define VU_C34 0x23 /* 108x34 on EGA, 108x36 on VGA */
#define VU_C60 0x24 /* 108x60 on EGA, 108x63 on VGA */
#define VU_D25 0x31 /* 120x25 */
#define VU_D43 0x32 /* 120x43 on EGA, 120x50 on VGA */
#define VU_D36 0x39 /* 120x36 */
#define VU_D63 0x3A /* 120x63 */
#define VU_E25 0x33 /* 132x25 */
#define VU_E44 0x34 /* 132x44, 132x50 on SuperVGA only */
#define VU_E36 0x3B /* 132x36 */
#define VU_E60 0x3C /* 132x60 */
/*------------------[ Data objects and access macros ]------------------*/
TYP union Vcel VcelT, *VcelP; /* object, pointer types */
TYP struct Vctl VctlT;
TYP union Vcse VcseT, *VcseP;
TYP union Vpos VposT, *VposP;
union Vcel /*-[ Video cell object ]------*/
{ WrdT cwrd; /* 00 : overlay word */
struct /* */
{ ChrT chr; /* 00 : character */
AtrT atr; /* 01 : attribute */
} c; /* */
}; /* 02 ]-----------------------*/
#define VcelW(x) ((x).cwrd)
#define VcelC(x) ((x).c.chr)
#define VcelA(x) ((x).c.atr)
union Vcse /*-[ Video cursor object ]----*/
{ WrdT cwrd; /* 00 : overlay word */
struct /* */
{ BytT end; /* 00 : stop line */
BytT beg; /* 01 : start line */
} c; /* */
}; /* 02 ]-----------------------*/
#define VcseW(x) ((x).cwrd)
#define VcseE(x) ((x).c.end)
#define VcseB(x) ((x).c.beg)
union Vpos /*-[ Video position object ]--*/
{ WrdT pwrd; /* 00 : overlay word */
struct /* */
{ BytT col; /* 00 : column */
BytT row; /* 01 : row */
} p; /* */
}; /* 02 ]-----------------------*/
#define VposW(x) ((x).pwrd)
#define VposC(x) ((x).p.col)
#define VposR(x) ((x).p.row)
struct Vctl /*-[ Video-control object ]---------*/
{ WrdT vseg; /* 00|00 : buffer segment */
BytT vhdw; /* 02|02 : adapter type */
BytT vmod; /* 03|03 : display-mode */
BytT vflg; /* 04|04 : flag byte */
BytT vpag; /* 05|05 : display-page */
IntT vwid; /* 06|06 : columns wide */
IntT vdep; /* 08|08 : rows deep */
VcseT vcur; /* 0A|0A : cursor-save */
BytT vuvf; /* 0C|0C : Ultravision Flags */
BytT vuvc; /* 0D|0D : Ultravision Card Code */
BytT vuvm; /* 0E|0E : Ultravision Text Mode */
BytT vfut; /* 0F|0F : Reserved for future use */
};